Kodkod: A Relational Model Finder
نویسندگان
چکیده
The key design challenges in the construction of a SAT-based relational model finder are described, and novel techniques are proposed to address them. An efficient model finder must have a mechanism for specifying partial solutions, an effective symmetry detection and breaking scheme, and an economical translation from relational to boolean logic. These desiderata are addressed with three new techniques: a symmetry detection algorithm that works in the presence of partial solutions, a sparse-matrix representation of relations, and a compact representation of boolean formulas inspired by boolean expression diagrams and reduced boolean circuits. The presented techniques have been implemented and evaluated, with promising results.
منابع مشابه
Nitpick: A Counterexample Generator for Isabelle/HOL Based on the Relational Model Finder Kodkod (System Description)∗
Nitpick is a counterexample generator for Isabelle/HOL that builds on Kodkod, a SAT-based firstorder relational model finder. Nitpick supports unbounded quantification, (co)inductive predicates and datatypes, and (co)recursive functions. Fundamentally a finite model finder, it approximates infinite types by finite subsets. Our experimental results on Isabelle theories and the TPTP library indic...
متن کاملOptimizing MiniSAT Variable Orderings for the Relational Model Finder Kodkod - (Poster Presentation)
Introduction. It is well-known that the order in which variables are processed in a DPLL-style SAT algorithm can have a substantial effect on its run-time. Different heuristics, such as VSIDS [2], have been proposed in the past to obtain good variable orderings. However, most of these orderings are general-purpose and do not take into account the additional structural information that is availa...
متن کاملNitpick: A Counterexample Generator for Isabelle/HOL Based on the Relational Model Finder Kodkod
Nitpick is a counterexample generator for Isabelle/HOL that builds on Kodkod, a SAT-based firstorder relational model finder. Nitpick supports unbounded quantification, (co)inductive predicates and datatypes, and (co)recursive functions. Fundamentally a finite model finder, it approximates infinite types by finite subsets. Our experimental results on Isabelle theories and the TPTP library indic...
متن کاملAssessing the Kodkod Model Finder for Resolving Model Inconsistencies
In model-driven software engineering (MDE), software is built through the incremental development, composition and transformation of a variety of models. We are inevitably confronted with design models that contain a wide variety of inconsistencies. Interactive and automated support for detecting and resolving these inconsistencies is indispensable. We evaluate an approach to automate the gener...
متن کاملKodkod for Alloy Users
The generality of Alloy’s relational logic and the full automation of its analysis have prompted several attempts to use Alloy as a backend engine for other tools. However, these efforts have been hampered by the Alloy Analyzer’s lack of 1) a clean API, 2) support for partial instances, and 3) a mechanism for sharing subformulas and subexpressions. Designed expressly as a plugin component, the ...
متن کامل